/*
dojo.require('vifito.galdic.WSGalipedia');
wsg = new vifito.galdic.WSGalipedia();

function showResult(p) {
console.log(p);
}
dojo.subscribe('WSGalipedia.opensearch', showResult);
dojo.subscribe('WSGalipedia.query', showResult);
dojo.subscribe('WSGalipedia.parse', showResult);
*/


dojo.provide('vifito.galdic.WSGalipedia');

dojo.require("dojo.io.script"); // for cross domain JSONP
dojo.require("dojox.rpc.Service");    

dojo.declare("vifito.galdic.WSGalipedia", null, {
    
    constructor: function() {
        var mu = dojo.moduleUrl("vifito.rpc.SMDLibrary", "galipedia-v2.smd");
        this.rpcGalipedia = new dojox.rpc.Service(mu);
    },

    opensearch: function(q) {
        this.rpcGalipedia.opensearch({
            search: q
        }).addCallback(this, function(result){
            dojo.publish("WSGalipedia.opensearch", [result]);
        });        
    },            

    query: function(q) {
        this.rpcGalipedia.query({
            titles: q
        }).addCallback(this, function(result){
            dojo.publish("WSGalipedia.query", [result]);
        });        
    },            

    parse: function(q) {
        this.rpcGalipedia.parse({
            page: q 
        }).addCallback(this, function(result){
            dojo.publish("WSGalipedia.parse", [result]);
        });        
    }   
});
